確率微分方程式による分布からのサンプリング
非常に高次元で複雑な分布について、全容を知るのは難しいので、以下のような式からサンプリングする。は比例定数。
つまり、が高いとサンプリングされる確率が低くなり、が低いとサンプリングされやすい。
このは物理的な背景からポテンシャル関数と呼ばれる。
これは単にサンプリングされる確率が指数的にポテンシャル関数に従い変わることを示しており、具体的なサンプリング方法はこれを満たす必要があるような手法が必要って感じ。
Langevin Monte Carlo
ランジュバンって読むぞ。
確率微分方程式で、ある拡散していく様子を記述できるが、その拡散の軌跡をサンプリング結果とすることで、このような指数的な条件に従った分布である。以下の確率微分方程式に従う。
は時間に依存したノイズ項で局所最適解にとどまることを防いでいる。は正規分布関連のノイズのためのスケーリングらしい。
確率密度の勾配が下がる向きに進むことで、欲しいサンプリングを実現できる。
これを離散化すると、以下のような漸化式になる。
これは既知の確率密度の勾配がわかっているとき、これに従って動くと正しくサンプリングできるってこと。
Diffusion Modelの学習で使うわけではない。
Ornstein-Uhlenbeck Process
オルンシュタイン=ウーレンベックとよむ。OU過程。
Diffusionでは基本的に、OU過程の順過程と逆過程をたどることで学習させる。
Langevin力学の特別な場合がOU過程。ポテンシャル関数が二次関数の時らしい。
なぜポテンシャルが二次関数の時こうなるのか
ポテンシャル関数とすると、勾配を計算すると確かにこの形になる。
ブラウン運動に、今の座標に応じた何かしらの点へ戻るバネのような力が加わったものである。
性質として以下のようなものがある。
- 平均回帰性 時間がたつにつれて、平均値に収束していくし、確率分布も一定の分散のもとで安定する。
- ガウス過程 ランダム性を持つ過程だが、各時刻における状態はガウス分布に従う。
拡散モデルによる学習
流れは
- 前進過程により、何かしらの過程に従い拡散する。
- 逆過程により、前進過程の動きを復元するように、重要な関数をDNNでモデリングして学習する。
- 新たなものを生成するときは、ガウシアンに従うノイズを元に学習したDNNを使い、逆過程でどんどん戻していく。
前進過程
先ほどのOU過程に従い、ノイズを加えつつ拡散をしていく。OU過程の性質によって最終的に安定した分散を持ち期待値が0のガウス分布になる。
これを漸化式にすると以下のようになる。はノイズ。
逆過程
OU過程の逆過程は以下のようになる。
なぜがあるのかというと、真の分布はガウス分布にゆくゆくなるから。がガウス分布の形ならば、になり、確かに復元する項である。
ここでは、と原点へ戻る力を半分にして、に復元を任せる感じ。
これを漸化式にすると、以下のようになる。これを満たすように、を学習していく。
